package com.aihna.mall.domain.vo;

import java.math.BigDecimal;

import com.aihna.common.translation.annotation.Translation;
import com.aihna.common.translation.annotation.TranslationType;
import com.aihna.common.translation.constant.TransConstant;
import com.aihna.mall.domain.StoreProduct;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.aihna.common.excel.annotation.ExcelDictFormat;
import com.aihna.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 商品视图对象 vvl_store_product
 *
 * @author Joseph.Chen
 * @date 2024-03-29
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = StoreProduct.class)
public class StoreProductVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 商品ID
     */
    @ExcelProperty(value = "商品ID")
    private Long id;

    /**
     * 商品图片
     */
    private String image;

    /**
     * 商品图片
     */
    @ExcelProperty(value = "商品图片")
    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper="image")
    private String imageUrl;

    /**
     * 轮播图
     */
    @ExcelProperty(value = "轮播图")
    private String sliderImage;

    /**
     * 商品名称
     */
    @ExcelProperty(value = "商品名称")
    private String name;

    /**
     * 商品简介
     */
    @ExcelProperty(value = "商品简介")
    private String info;

    /**
     * 关键字
     */
    @ExcelProperty(value = "关键字")
    private String keyword;

    /**
     * 商品条码（一维码）
     */
    @ExcelProperty(value = "商品条码", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "一=维码")
    private String barCode;

    /**
     * 分类id
     */
    @ExcelProperty(value = "分类id")
    private String cateId;

    /**
     * 商品价格
     */
    @ExcelProperty(value = "商品价格")
    private BigDecimal price;

    /**
     * 成本价
     */
    @ExcelProperty(value = "成本价")
    private BigDecimal costPrice;

    /**
     * 市场价
     */
    @ExcelProperty(value = "市场价")
    private BigDecimal otPrice;

    /**
     * 会员价格
     */
    @ExcelProperty(value = "会员价格")
    private BigDecimal vipPrice;

    /**
     * 邮费
     */
    @ExcelProperty(value = "邮费")
    private BigDecimal postage;

    /**
     * 单位名
     */
    @ExcelProperty(value = "单位名")
    private String unitName;

    /**
     * 商品详情
     */
    private String description;

    /**
     * 销量
     */
    @ExcelProperty(value = "销量")
    private Long sales;

    /**
     * 库存
     */
    @ExcelProperty(value = "库存")
    private Long stock;

    /**
     * 状态（0：未上架，1：上架）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：未上架，1：上架")
    private Integer isShow;

    /**
     * 是否热卖
     */
    @ExcelProperty(value = "是否热卖")
    private Integer isHot;

    /**
     * 是否优惠
     */
    @ExcelProperty(value = "是否优惠")
    private Integer isBenefit;

    /**
     * 是否精品
     */
    @ExcelProperty(value = "是否精品")
    private Integer isBest;

    /**
     * 是否新品
     */
    @ExcelProperty(value = "是否新品")
    private Integer isNew;

    /**
     * 是否包邮
     */
    @ExcelProperty(value = "是否包邮")
    private Integer isPostage;

    /**
     * 获得积分
     */
    @ExcelProperty(value = "获得积分")
    private Long giveIntegral;

    /**
     * 秒杀状态 0 未开启 1已开启
     */
    @ExcelProperty(value = "秒杀状态 0 未开启 1已开启")
    private Integer isSeckill;

    /**
     * 砍价状态 0未开启 1开启
     */
    @ExcelProperty(value = "砍价状态 0未开启 1开启")
    private Integer isBargain;

    /**
     * 是否优品推荐
     */
    @ExcelProperty(value = "是否优品推荐")
    private Integer isGood;

    /**
     * 是否单独分佣
     */
    @ExcelProperty(value = "是否单独分佣")
    private Integer isSub;

    /**
     * 虚拟销量
     */
    @ExcelProperty(value = "虚拟销量")
    private Long ficti;

    /**
     * 浏览量
     */
    @ExcelProperty(value = "浏览量")
    private Long browse;

    /**
     * 商品二维码地址(用户小程序海报)
     */
    @ExcelProperty(value = "商品二维码地址(用户小程序海报)")
    private String codePath;

    /**
     * 淘宝京东1688类型
     */
    @ExcelProperty(value = "淘宝京东1688类型")
    private String soureLink;

    /**
     * 主图视频链接
     */
    @ExcelProperty(value = "主图视频链接")
    private String videoLink;

    /**
     * 运费模板ID
     */
    @ExcelProperty(value = "运费模板ID")
    private Long tempId;

    /**
     * 规格 0单 1多
     */
    @ExcelProperty(value = "规格 0单 1多")
    private Integer specType;

    /**
     * 活动显示排序0=默认, 1=秒杀，2=砍价，3=拼团
     */
    @ExcelProperty(value = "活动显示排序0=默认, 1=秒杀，2=砍价，3=拼团")
    private String activity;

    /**
     * 展示图
     */
    @ExcelProperty(value = "展示图")
    private String flatPattern;

    /**
     * 是开启积分兑换
     */
    @ExcelProperty(value = "是开启积分兑换")
    private Integer isIntegral;

    /**
     * 需要多少积分兑换 只在开启积分兑换时生效
     */
    @ExcelProperty(value = "需要多少积分兑换 只在开启积分兑换时生效")
    private Long integral;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    private Long sort;

    /**
     * 是否回收站
     */
    @ExcelProperty(value = "是否回收站")
    private Integer isRecycle;


}
